package ysq.xyg.host.service;

import ysq.xyg.base.model.dto.ReturnEntity;
import ysq.xyg.base.service.BaseService;
import ysq.xyg.host.model.dto.HostNoticeDto;
import ysq.xyg.host.model.po.HostNotice;
import ysq.xyg.host.model.vo.HostNoticeSearchVo;
import ysq.xyg.host.model.vo.HostNoticeVo;
import ysq.xyg.sys.model.po.SysUser;

import java.util.List;

/**
 * 房产-通知公告service接口
 *
 * @author congcong tao
 * @date 2019-12-11 15:08:31
 */
public interface HostNoticeService extends BaseService<HostNotice> {

    /**
     * 分页查询
     *
     * @param hostNoticeVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-12-11 15:08:31
     */
    ReturnEntity page(HostNoticeVo hostNoticeVo, int pageSize, int pageNum);

    /**
     * 分页查询
     * @param hostNoticeSearchVo
     * @param pageSize
     * @param pageNum
     * @author congcong tao
     * @date 2019/12/13 9:58
     */
    ReturnEntity pageHostNoticeMobile(HostNoticeSearchVo hostNoticeSearchVo, int pageSize, int pageNum);

    /**
     * 修改
     *
     * @param hostNoticeVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-12-11 15:08:31
     */
    ReturnEntity addOrUpdate(HostNoticeVo hostNoticeVo, SysUser currentUser);

    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-12-11 15:08:31
     */
    ReturnEntity delete(String id, SysUser currentUser);

    /**
     * 获取集合
     *
     * @param hostNoticeVo 对象
     * @return List<HostNotice> HostNotice集合
     * @author congcong tao
     * @date 2019-12-11 15:08:31
     */
    List<HostNotice> acceptList(HostNoticeVo hostNoticeVo);

    /**
     * 查询资讯通知
     * @param cityId
     * @param hostItemRecommendYes
     * @param size
     * @author congcong tao
     * @date 2019/12/13 9:44
     */
    List<HostNoticeDto> selectHostNoticeList(String accountId, String cityId, String isRecommend, int size);
}
